import store from '@/store/index.js'
const api = store.getters.getUrl;
import {userLogin} from './login.js'
const http = (params) => {
	return new Promise((resolve, reject) => {
		//  传入的参数中含有isNoNeedLoading不需要加载中的提示
		if (!params.data.isNoNeedLoading) {
			uni.showLoading({
				mask: true,
				title: '加载中...',
			})
		}
		let needToken = true;

		let netType = null
		// 获取网络状态
		uni.getNetworkType({
			success: (res) => {
				netType = res.networkType;
				
				if(netType === 'none') {
					reject()
					uni.hideLoading()
					uni.showToast({
						title:'网络未连接，请检查网络',
						icon:'none',
						duration:1500,
						mask:true
					})
					return false
				}
				// 没有token时则跳转到登录页面
				if (needToken && !params.data.token) {
					if (!params.data.isNoNeedLoading) {
						uni.hideLoading()
					}
					// uni.reLaunch({
					// 	//跳转登录页面
					// 	url: '/pages/home/home'
					// })
					// uni.showToast({
					// 	title:"请先登录",
					// 	icon:"none",
					// 	duration:2000
					// })
					// return false
				} else {
					uni.request({
						url: api + params.url,
						data: params.data,
						header: params.header || {
							"Content-Type": "application/x-www-form-urlencoded"
						}, // 默认请求头，可自行设置
						method: params.method || 'post', // 请求格式默认为post，需要其他格式可自行设置
						dataType: params.dataType, // 小程序默认为json，可自行设置
						responseType: params.responseType, // 默认为text，可自行设置
						success: (res) => {
							if (res.statusCode === 200) {
								resolve(res.data)
							} else {
								uni.showToast({
									icon: 'none',
									title: res.data.message
								})
							}
							if (!params.data.isNoNeedLoading) {
								uni.hideLoading()
							}
						},
						fail: (e) => {
							reject(e)
							if (!params.data.isNoNeedLoading) {
								uni.hideLoading()
							}
						}
					})
				}
			}
		});
	})
}
module.exports = {
	http: http
}
